{{tag>serveur réseau BROUILLON}}
------

====== Lighttpd : Un serveur web léger ======


{{ light_logo_170px.png}}

**Lighttpd** est un serveur web (//HTTP//) qui, de par sa légèreté, se veut rapide. Il supporte un grand nombre de fonctionnalités comparables à celles d'[[:apache2|Apache]] (comme les rewrite, fast-cgi, proxy, etc.) pour des performances aussi bonnes sinon meilleures dans les tests faits par Lighttpd.

Par rapport à Apache, il ne supporte pas les fichiers htaccess ou encore htpasswd. Ces 2 problèmes sont contournables si vous avez accès à la configuration de votre serveur.

Lighttpd se trouve dans le top 5 des serveurs les plus utilisés dans le monde. Cette page est là pour vous expliquer comment l'installer et comment l'utiliser de manière simple.

===== Installation =====

Il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt://lighttpd|lighttpd]]**.

===== Configuration =====
Tous les fichiers de configuration se trouvent dans **/etc/lighttpd**.
==== /etc/lighttpd ====
Voici ce que vous pouvez trouver dans ce répertoire.
  lighttpd.conf conf-available conf-enabled

  * Le fichier **lighttpd.conf** est le fichier de configuration principal à partir duquel les directives principales sont chargées.
  * **conf-available** est un dossier qui contient les fichiers de configuration des différents modules.
  * **conf-enabled** est un dossier 
===Le fichier lighttpd.conf===
Le plus important est de configurer la directive suivante qui définit la racine de Lighttpd.
<code>
server.document-root       = "/votre/chemin/"
</code>
Quelque soit la modification faite dans le fichier de configuration, il est possible de vérifier que la syntaxe est correcte avec la commande suivante:
  lighttpd -t -f /etc/lighttpd/lighttpd.conf

**/etc/lighttpd/lighttpd.conf** pouvant, bien sur, être remplacé par l'adresse de votre fichier de configuration.
==Les modules==
La première partie du fichier consiste en l'activation des différents modules du serveur. Pour activer un module, il suffit de décommenter sa ligne ou utiliser la commande **lighty-enable-mod** que nous verrons un plus loin.
<code>
server.modules              = (
            "mod_access",
            "mod_alias",
...
#           "mod_flv_streaming",
#           "mod_evasive"
)
</code>
Il est possible de retrouver un documentation détaillée des différents modules sur le wiki officiel de Lighttpd: [[http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs#Modules]]

Une documentation plus exhaustive sur les différentes directives de configuration sont disponibles à l'adresse suivante:
[[http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions]]

==== PHP et MySQL ====

Nous allons mettre en place le langage PHP5 et configurer Lighttpd pour qu'il puisse l'interpréter.

[[:tutoriel:comment_installer_un_paquet|Installer le paquet]] [[apt://php5-cgi|php5-cgi]] et éventuellement [[apt://php5-gd|php5-gd]].

Exécutez la commande suivante pour activer le module fastcgi :
  sudo lighty-enable-mod fastcgi

Puis rechargez la configuration de lighttpd:
  sudo /etc/init.d/lighttpd force-reload

Enfin, on teste que le serveur prend bien en compte PHP:
  sudo sh -c 'echo "<?PHP phpinfo(); ?>" > /var/www/test.php'
  sudo chown -R www-data:www-data /var/www/test.php
  w3m http://localhost/test.php

==== MySql ====
Il suffit d'[[:tutoriel:comment_installer_un_paquet|installer les paquets]] suivants :
**[[apt://mysql-client,mysql-server]]**
Et éventuellement PHPMyAdmin :
**[[apt://phpmyadmin|phpmyadmin]]**

Lors de l'installation, vous serez tout d'abord invité à indiquer à MySql qu'il fonctionnera avec Lighttpd.
Puis vous serez amenés à choisir un mot de passe pour l'accès root à phpmyadmin.

Après l'installation de ces paquets, il faut saisir les commandes suivantes :

  sudo lighty-enable-mod fastcgi userdir
  sudo /etc/init.d/mysql start
  sudo /etc/init.d/lighttpd restart


Si vous avez installé PHPMyAdmin, la base de données est alors accessible à l'adresse suivante : http://localhost/phpmyadmin


==== SSL ====

En attendant une intégration ici, voir http://redmine.lighttpd.net/projects/lighttpd/wiki/HowToSimpleSSL
\\ Pour créer un certificat SSL auto-signé, on peut également utiliser la commande suivante :
<code>sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/localhost.pem</code>

===== Désinstallation =====

Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. La configuration de l'application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.

===== Voir aussi =====

  * **(en)** [[http://www.lighttpd.net/|Site officiel du projet Lighttpd]]
  * **(fr)** [[http://fr.wikipedia.org/wiki/Lighttpd|Lighttpd sur Wikipédia]]
  * **(en)** [[http://www.ubuntugeek.com/lighttpd-webserver-setup-with-php5-and-mysql-support.html|Configurer PHP5 pour Lighttpd]]
  * **(en)** [[http://nanotux.com/blog/the-ultimate-server/3/#l-php5| The ultimate server]]

----

//Contributeurs : [[utilisateurs:kagou|Patrice Vetsel]], [[utilisateurs:alteo_gange|alteo_gange]].//